{% if new %}
    {% set action = path('concurso_create')%}
    {% set estaImpugnado = false%}

{% else%}
    {% set action = path('concurso_update', { 'id': entity.id })%}

{%endif%}


{% extends '::backend.html.twig' %}
{% block javascripts %}
 {{ parent() }}
<script src="{{ asset('js/concursos.js') }}" type="text/javascript"></script>
{% endblock %}
{% block contenido %}
{% include 'BackendBundle:Concurso:flashAlerts.html.twig'%}
<div id="prototipo-repetidos">
    <div id="personas-repetidas" class="alert" style="display: none">

    </div>
</div>
<form  id="form"  class="form-horizontal" action="{{ action }}" method="post" {{ form_enctype(form) }}>
    <div id="append-msg"></div>
{{ form_errors(form) }}
{{ form_widget(form._token) }} 

    <input type="hidden" id="atach-error-dates"/>
    <input type="hidden" id="atach-error-impugnaciones"/>
    <input type="hidden" id="atach-error-personas"/>
    <input type="hidden" id="atach-error-resoluciones"/>
    <input type="hidden" id="atach-error-resoluciones-sin-exp"/>
    <input type="hidden" id="atach-error-impugnaciones-sin-cod"/>
    <input type="hidden" id="atach-fechas-impugnacion"/>
    <input type="hidden" id="atach-error-cargos"/>


    <fieldset>
        <legend>{{title | default("Crear Concurso Docente")}}
        {% if (estaImpugnado)%}
                Estado Impugnado
        {%endif%}
            </legend>
            <div class="alert alert-info">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <h4>Atención!</h4>
                <span class="help-block">Al modificar las fechas que ya se encuentran relacionadas, por ejemplo: (En Impugnación: Fecha Recibida no puede ser mayor a Fecha Resolución)</span>
            </div>

         {%if permisos is not empty%}
                        {#{dump(permisos)}#} 
                       {%else%}
            permisos esta vacia
                       {%endif%}
{%if permisos.general and  (estaImpugnado is sameas(false))%}


{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field':form.fechaInicioExpediente, 'labelTitle':'Fecha inicio  Expediente'} %}
{% if new  is sameas(false)%}
{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field':form.fechaCierre, 'labelTitle':'Fecha cierre'} %}
{%endif%}            

{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field':form.fechaInicioInscripcion, 'labelTitle':'Fecha inicio inscripción'} %}
{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field':form.fechaEvaluacion, 'labelTitle':'Fecha evaluación'} %}
{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field':form.fechaEntregaActa, 'labelTitle':'Fecha entrega acta'} %}
{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field': form.numeroExpediente, 'labelTitle':'Nro de Expediente'} %}

{% if new  is sameas(false)%}


{%endif%}            



{% include 'BackendBundle:Concurso:genericField.html.twig' with {'field': form.catedra, 'labelTitle':'Catedra'} %}
{% include 'BackendBundle:Concurso:editCargos.html.twig' with {'field': form.cargos, 'labelTitle':'Cargos'} %}
     {% if entity.cargos is not empty %}

            <legend>Lista Cargos</legend>

            <table id="cargos-table" class="table table-striped table-bordered table-striped table-hover">
                <thead>
                    <tr>
                        <th>C&oacute;digo</th>
                        <th>Tipo de cargo</th>
                        <th>Dedicaci&oacute;n</th>
                        <th>Quien lo ocupa</th>
                        <th>Accion</th>
                    </tr>
                </thead>
                <tbody id="table-body-cargos">
{%for cargo in entity.cargos%}

    {% include 'BackendBundle:Concurso:cargoMoreInfo.html.twig' with {'cargo': cargo} %}

       {%endfor%}

                    </tbody></table>

{%endif%}




{%else%}
{% include 'BackendBundle:Concurso:readOnlyGeneralInfo.html.twig' with {'entity':entity} %}
{% include 'BackendBundle:Concurso:readOnlyCargos.html.twig' with {'cargos':entity.cargos} %}
{%endif%}<!-- fin del permiso general -->
{% if form.oficina.vars.errors is not empty %} 
                <div class="control-group error">                                                                  
{%else%}
                        <div class="control-group">                                                             
{%endif%}        
                                <label class="control-label required">Oficina</label>
                                <div class="controls">
       {{ form_widget(form.oficina) }}
             {% if new  is sameas(false)%}
                                        <a class="btn btn-info pull-right fancybox fancybox.ajax" href="{{path('concurso_get_oficinas_paso', { 'id' : entity.id})}}"><i class="icon-search"></i>Ver oficinas por las que paso</a>
             {%endif%}
                                        <span class="help-inline">{{ form_errors(form.oficina) }}</span>
                                    </div>
                                </div>
{%if new is sameas(false)%}          





{%if permisos.inscriptos and  (estaImpugnado is sameas(false))%}
    {% include 'BackendBundle:Concurso:editInscriptos.html.twig' with {'inscriptos': form.inscriptos} %}
                                <div id="collection-of-inscriptos" data-prototype="{% filter escape %}{% include 'BackendBundle:Concurso:prototypeInscripto.html.twig' with {'form': form.inscriptos.get('prototype')} %}{% endfilter %}"></div>

{% else%}
    {% include 'BackendBundle:Concurso:readOnlyInscriptos.html.twig' with {'entity': entity, 'esEditor':false} %}
{%endif%}<!-- fin del permiso inscriptos -->           

{%if permisos.asesores and  (estaImpugnado is sameas(false)) %}
 {% include 'BackendBundle:Concurso:editAsesores.html.twig' with {'asesores': form.asesores} %}
                                <div id="collection-of-asesores" data-prototype="{% filter escape %}{% include 'BackendBundle:Concurso:prototypeAsesor.html.twig' with {'form': form.asesores.get('prototype')} %}{% endfilter %}"></div>

{% else%}            
 {% include 'BackendBundle:Concurso:readOnlyAsesores.html.twig' with {'entity':entity, 'esEditor':false}%}

{%endif%}  <!-- fin del permiso asesores -->      

{%if permisos.resoluciones and  (estaImpugnado is sameas(false))%}
 {% include 'BackendBundle:Concurso:editResoluciones.html.twig' with {'resoluciones': form.resoluciones} %}
                                <div id="collection-of-resoluciones" data-prototype="{% filter escape %}{% include 'BackendBundle:Concurso:prototypeResolucion.html.twig' with {'form': form.resoluciones.get('prototype')} %}{% endfilter %}"></div>

{% else%}            
 {% include 'BackendBundle:Concurso:readOnlyResoluciones.html.twig' with {'entity': entity} %}
{%endif%}  <!-- fin del permiso resoluciones -->      


{%if permisos.impugnaciones%}
 {% include 'BackendBundle:Concurso:editImpugnaciones.html.twig' with {'impugnaciones': form.impugnaciones} %}
                                <div id="collection-of-impugnaciones" data-prototype="{% filter escape %}{% include 'BackendBundle:Concurso:prototypeImpugnacion.html.twig' with {'form': form.impugnaciones.get('prototype')} %}{% endfilter %}"></div>
{% else%}            
 {% include 'BackendBundle:Concurso:readOnlyImpugnaciones.html.twig' with {'entity': entity} %}
{%endif%}  
{%endif%}  <!-- fin del permiso impugnaciones -->      




                       {%if permisos is not empty%}
                        {#{dump(permisos)}#} 
                       {%else%}
                                permisos esta vacia
                       {%endif%}

                                <div id="mostrar-repetidos" style=" position: fixed;
                                     top: 80px;"></div>
                                     <div class="form-actions">
                                         <a id="submit"  class="btn btn-warning"><i class="icon-edit"></i> Guardar</a>
                                         <button  type="submit" style="display: none" > </button>
                                         <a class="btn" href="{{ path('concurso') }}">Cancelar</a>
                                     </div>
                                     <fieldset>
                                         </form>
{% endblock %}
 {% block documentReadyJavascript %} 
                                         <script>
                   function onRemoveCargoFromTable(){
                                           $(".remove-cargo").off('click').on('click',function(){
                                var $select = $("#ConcursoType_cargos");
                                var $this = $(this);
                                var $row = $("#cargo-"+$this.attr('data-cargo'));
                                removeAndReRenderSelect($select, $this.attr('data-cargo') );
                                $row.remove();
               
            
                        })
                            }
                     onRemoveCargoFromTable();
         
         
         
                            $("#ConcursoType_cargos").on('change',function(elem){
               
                                if( typeof elem.removed != "undefined" ){
                                     var eleRemoveId = elem.removed.id;
                                 var $row = $("#cargo-"+eleRemoveId);
                                 $row.remove();
                            }
                                if( typeof elem.added != "undefined" ){
                                     var eleAddId = elem.added.id;
                                     console.log("added",eleAddId);
                                 var $row = $("#cargo-"+eleRemoveId);
                                 $row.hide().remove();
                                   var url="{{ path('concurso_get_cargo_info', { 'id':"cargo_id"}) }}";
                                 var  url = url.replace(/cargo_id/g, eleAddId);
                                 $.ajax({ 
                                     url:url,
                                     type:"POST",
                                     beforeSend:function(){
                                         $("#div-cargos").spin();
                                     },
                                     complete:function(data){
                                           $("#div-cargos").spin(false);
                                     $("#table-body-cargos").append(data.responseText);
                                     onRemoveCargoFromTable();
                                 }
                     
                 
                         })
                     
                            }

                })
    
                $(function(){
    
                    $(".fancybox").fancybox({
                            maxWidth	: 800,
                            maxHeight	: 600,
                            fitToView	: false,
                            width		: '70%',
                            height		: '70%',
                            autoSize	: false,
                            closeClick	: false,
                            openEffect	: 'none',
                            closeEffect	: 'none',
                            ajax:{
                        error: function()
                                    {
                                        alert('Hubo un error con la conexión!');
                                    }    
                        }
                    });

            });

                         $(function(){
                            
                            $('#top').gotop();
                            function showFlash(msj){    
    $("#append-msg").append(' <div class="alert"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Cuidado!</strong> '+msj+' </div>');
} 

                             initializeDatepickerConcurso();
                             preparePrototypeTo("inscriptos");
                             preparePrototypeTo("asesores");
                             preparePrototypeTo("resoluciones");
                             preparePrototypeTo("impugnaciones");                                                                                                                       
                               
                    $("#submit").on("click", function(e){
                             e.preventDefault();
                            
                               var url;
                                {%if new %}

                                    url = "{{ path('concurso_check_cargos', {'values':"cargos_ids"}) }}";
                            {%else%}
                                    url = "{{ path('concurso_check_cargos', {'concurso':entity.id , 'values':"cargos_ids"}) }}";
                                {%endif%}
                             var to_go = url.replace(/cargos_ids/g, $("#ConcursoType_cargos").val());                             
                        
                                        $.ajax({
                                            url:to_go,                                             
                                            type:"post",         
                                            beforeSend:function(){$("#form").spin();},
                                            complete:function(data){
                                                var result = $.evalJSON(data.responseText);
                                                if(result.cargos.length > 0){
                                                    $.each(result.cargos, function(index,value){
                                                       $("#append-msg").append(' <div class="alert"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Cuidado!</strong> El cargo codigo: '+value.codigo + " esta siendo concursado en el concurso con expediente "+ value.numeroExpediente +' </div>');

                                                    });           
                                                   
                                                    $('#top').click();
                                                }else{
                                                      
                                                    $("#form").trigger("validationDone",true); 
                                                }
                                                 $("#form").spin(false);
                                            }}) 
                                        
                                       });

$("#form").bind("validationDone", function(outputAjax) {    
          if(validateNewConcurso() && outputAjax) {
                               $("#form").submit()
                             }else{
                                 showFlash("Se encontrron errores.");
                                 $('#top').click();
                                 return false;
                             }
    });
/*

      $("#submit").on("click", function(e){
                            
                             if(validateNewConcurso()) {
                                 return true;
                             }else{
                                 $('#top').click();
                                 return false;
                             }
                             
                         });

    */
                         /* Inicializo los selects */
                            $("#form").find('select').select2({ width: 'resolve',formatSearching:function(){return "buscando..." },formatNoMatches:function(){return"no encontraos nada"}});
   
                          {% if new %}
                              $("#ConcursoType_catedra").on("change",function(){
                                 var url="{{ path('concurso_cargos_para_catedra', { 'id':"catedra_id"}) }}";
                                 var  url = url.replace(/catedra_id/g, $(this).val());
                                 $.ajax({
                                     url:url,
                                     type:"POST",
                                     beforeSend:function(){
                                         $("#div-cargos").spin();
                                     },
                                     complete:function(data){
                                         var cargos = data.responseText;    
                                         $("#div-cargos").html(cargos);
                                         $("#div-cargos").find('select').css("width","100%").select2({   placeholder: "Seleccione uno/varios cargos",
                                             allowClear: true,width: 'resolve',formatSearching:function(){return "buscando..." },
                                             formatNoMatches:function(){return"no encontraos nada"}});
                                         $("#div-cargos").spin(false); 
                                         {% if fails is not null %}
                             var cargos = [];
                             {% for cargo in entity.cargos %}
                                cargos.push({{ cargo.id }});
                             {% endfor %}
                             $("#div-cargos").find('select').val(cargos).trigger("change");
                             console.log(cargos);
                                                  
                         {%endif%}
                               $("#ConcursoType_cargos").css("width","100%").on('change',function(elem){
               
                                if( typeof elem.removed != "undefined" ){
                                     var eleRemoveId = elem.removed.id;
                                 var $row = $("#cargo-"+eleRemoveId);
                                 $row.remove();
                            }
                                if( typeof elem.added != "undefined" ){
                                     var eleAddId = elem.added.id;
                                     console.log("added",eleAddId);
                                 var $row = $("#cargo-"+eleRemoveId);
                                 $row.hide().remove();
                                   var url="{{ path('concurso_get_cargo_info', { 'id':"cargo_id"}) }}";
                                 var  url = url.replace(/cargo_id/g, eleAddId);
                                 $.ajax({ 
                                     url:url,
                                     type:"POST",
                                     beforeSend:function(){
                                         $("#div-cargos").spin();
                                     },
                                     complete:function(data){
                                           $("#div-cargos").spin(false);
                                     $("#table-body-cargos").append(data.responseText);
                                     onRemoveCargoFromTable();
                                 }
                     
                 
                         })
                     
                            }

                });        
                             
                             }
                                 });
                            }).change();   
                         {%endif%}         
                     
                                   /* FIN Inicializo los selects */
          
          
          
          
                                              $(".desplegable").on('click', function(e){
                                                 e.preventDefault();
                                                 var $div = $(this).parent().parent().find('div.oculto')
      
          
                                                   if( !$div.is(':visible')){
                                               $(this).find('i').removeClass('icon-plus');    
                                               $(this).find('i').addClass('icon-minus');    
                                               }else{
                                               $(this).find('i').removeClass('icon-minus');    
                                               $(this).find('i').addClass('icon-plus');    
                                           }
                                               $div.toggle( 'blind', {}, 500 );
         
                                         });
                                                                                                             
                         })
                     
                                             </script>
{% endblock documentReadyJavascript %}
